/**
 * @NoticeFilterObj.as
 * 
 * @author sodaChen mail:asframe@163.com
 * @version 1.0
 * <br>Copyright (C), 2012 ASFrame.com
 * <br>This program is protected by copyright laws.
 * <br>Program Name:ASFrame AStruts2
 * <br>Date:2012-5-14
 */
package com.asframe.astruts2.example
{
	/**
	 * 一个普通的类作为过滤器对象
	 * @author sodaChen
	 * @Date:2012-5-14
	 */
	public class NoticeFilterObj
	{
		public static const AGE_FILTER:String = "ageFilter";
		
		public function NoticeFilterObj()
		{
		}
		//年龄过滤，这里可以直接通过AGE_FILTER常量进行绑定，通过约定，常量和方法名符合
		public function ageFilter(age:int):Boolean
		{
			if(age <= 18)
			{
				trace("未满18岁，禁止进入");
				return true;
			}
			return false;
		}
		//没有参数值，则默认是方法名作为通知，也就是默认拦截openLogin通知，也只能接收该通知
		[Notice]
		public function openLogin():void
		{
			trace("监听打开登陆界面的事件");
		}
		//注意，所有是采用*形式的过滤器，参数是固定格式的，也就是通知 + 参数
		[Notice("name*")]
		public function nameFilter(notice:String,args:Array):Boolean
		{
			trace("nameFilter响应了");
			return false;
		}
	}
}
